1. Technical Field of the Invention
1. The present invention relates to a LIFO (“Last In, First Out”) storage device, otherwise known as a reverse stack.
2. Description of Related Art
2. A LIFO type storage device is characterized by a depth P, P being an integer which may be of the form 2N, N being an integer. The function of the device is to store a succession of data produced by a data source in a determined chronological order, and to retrieve these data in successive sequences of P data, the chronological order of data retrieval within each sequence being the reverse of the chronological order of data production by the source. Storage by the device of data produced by the source continues simultaneously with data retrieval, in a timed manner according to a series of successive further defined time intervals. Thus, under the nominal operating conditions of the storage device, recording a datum and retrieving another datum takes place at each time interval.
In a manner known to a person skilled in the art, a LIFO type storage device of depth P may consist of two identical single port random access memories (SP-RAM), each with P addresses, to which the sequences of P data are directed. In this type of device, the data from the same sequence may be directed to the same memory, alternating between the two RAM memories for two successive sequences of data. Thus, at each timing interval of the operation of the storage device, a datum from a sequence being produced by the data source is written to one of the two SP-RAMs, while another datum from the immediately previous data sequence is simultaneously read in the other SP-RAM. To achieve reverse stack operation, each SP-RAM is read in the address order of this SP-RAM in the reverse order of the same addresses in which the data have been previously written to this SP-RAM.
This type of storage device accordingly requires two SP-RAMs, each having at least as many addresses as depth P of the device. This large storage capacity entails a large cost, due in particular to the surface area of semiconductor substrate necessary for producing the corresponding memory modules.
The storage capacity necessary for a LIFO type storage device of depth P can be reduced to a single RAM memory with P addresses, by using a DP-RAM (or Dual Port-RAM) type memory. At each timing interval of the storage device's operation, a datum from a sequence being produced by the data source can then be written to this DP-RAM, whilst another datum is simultaneously read in this DP-RAM from the immediately previous data sequence. This reading and writing take place at two successive addresses in an address scanning of the DP-RAM. To achieve reverse stack operation, the data from the same sequence are written then read in the DP-RAM by scanning the addresses of the DP-RAM in reverse orders between reading and writing the data of this sequence. Under these circumstances, a single memory module with P addresses is sufficient.
One drawback of this latter embodiment of LIFO type storage devices lies in the use of DP-RAM memory modules. This is because DP-RAM memory modules are more expensive and bulkier than SP-RAM memory modules for the same storage capacity. They are therefore especially limiting for the production of small, cheap circuits.